package algorithm.leetcode.simple;

/*
 给定一个数组，它的第 i 个元素是一支给定股票第 i 天的价格。
 如果你最多只允许完成一笔交易（即买入和卖出一支股票一次），设计一个算法来计算你所能获取的最大利润。
 */

/**
 * @author jack.wu
 * @version 1.0
 * @date 2020/10/14
 */
public class Question121 {

    public static void main(String[] args) {
        int[] prices = {7,1,5,3,6,4};
        Question121 question = new Question121();
        int maxProfit = question.maxProfit(prices);
        System.out.println(maxProfit);
    }

    public int maxProfit(int[] prices) {
        int minPrice = Integer.MAX_VALUE;
        int maxPrice = 0;

        for (int price : prices) {
            if (price < minPrice) {
                minPrice = price;
            }else if (price - minPrice > maxPrice) {
                maxPrice = price - minPrice;
            }
        }
        return maxPrice;
    }
}
